package com.xinghai.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.xinghai.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import com.xinghai.common.core.domain.BaseEntity;

/**
 * 活动报名记录对象 jkq_activity_sign
 *
 * @author xinghai
 * @date 2025-08-02
 */
@TableName("jkq_activity_sign")
@EqualsAndHashCode(callSuper = true)
@Data
public class JkqActivitySign extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 活动id */
    @Excel(name = "活动id")
    private Long activityId;

    /** 活动标题 */
    @Excel(name = "活动标题")
    @TableField(exist = false)
    private String title;

    /** 活动类型 */
    @Excel(name = "活动类型", readConverterExp = "0=线下活动,1=公益领赠")
    @TableField(exist = false)
    private String type;

    /** 活动封面 */
    @Excel(name = "活动封面")
    @TableField(exist = false)
    private String imageUrl;

    /** user_id */
    @Excel(name = "用户id")
    private Long userId;

    @Excel(name = "用户名称")
    @TableField(exist = false)
    private String userName;

    @Excel(name = "用户头像")
    @TableField(exist = false)
    private String userImage;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 年龄 */
    @Excel(name = "年龄")
    private String age;

    /** 领取地点 */
    @Excel(name = "领取地点")
    private String address;

    /** 领取地点 */
    private String addressId;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /** 状态 */
    @Excel(name = "状态", readConverterExp = "0=待审核,1=审核成功,2=审核失败")
    private String status;

    /** 删除标志 */
    @TableLogic
    private String delFlag;


    /** 活动地址 */
    @Excel(name = "地址名称")
    @TableField(exist = false)
    private String addressName;

    /** 纬度 */
    @Excel(name = "纬度")
    @TableField(exist = false)
    private String lat;

    /** 经度 */
    @Excel(name = "经度")
    @TableField(exist = false)
    private String lng;

    /** 邀请人userId */
    @TableField(exist = false)
    private Long yqUserId;

    @Excel(name = "申请时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 活跃天数 */
    @Excel(name = "健康管理师昵称")
    @TableField(exist = false)
    private String healthUserName;

    /** 活跃天数 */
    @Excel(name = "健康管理师id")
    @TableField(exist = false)
    private Long healthUserId;


}
